﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel;

namespace OnlineShop.Models.ViewModels
{
    public class AccountModel
    {
        [HiddenInput(DisplayValue = false)]
        public int? ID { get; set; }

        [DisplayName("Email")]
        [DataType(DataType.EmailAddress)]
        [Required(ErrorMessage = "Email ?")]
        [StringLength(256, ErrorMessage = "Email không thể lớn hơn 256 ký tự")]
        public string Email { get; set; }

        [DisplayName("Mật khẩu")]
        [DataType(DataType.Password)]
        [Required(ErrorMessage = "Mật khẩu ?")]
        [StringLength(32, ErrorMessage = "Mật khẩu không thể lớn hơn 32 ký tự")]
        public string Password { get; set; }

        [DisplayName("Lặp mật khẩu")]
        [DataType(DataType.Password,ErrorMessage = "Lặp mật khẩu không khớp")]
        [Required(ErrorMessage = "Lặp lại mật khẩu ?")]
        [Compare("Password")]
        [StringLength(32, ErrorMessage = "Mật khẩu không thể lớn hơn 32 ký tự")]
        public string RePassword { get; set; }

        [DisplayName("Họ")]
        [Required(ErrorMessage = "Họ ?")]
        public string FirstName { get; set; }

        [DisplayName("Tên")]
        [Required(ErrorMessage = "Tên ?")]
        public string LastName { get; set; }

        [DisplayName("Số điện thoại")]
        [DataType(DataType.PhoneNumber)]
        [Required(ErrorMessage = "Số điện thoại ?")]
        public string PhoneNumber { get; set; }

        [DisplayName("Địa chỉ chính")]
        [Required(ErrorMessage = "Địa chỉ chính  ?")]
        public string Address1 { get; set; }

        [DisplayName("Mã quốc gia")]
        public string CountryCode { get; set; }

        [DisplayName("Thành phố")]
        public string City { get; set; }

        [DisplayName("State/Province")]
        public string StateProvince { get; set; }

        [DisplayName("Địa chỉ phụ")]
        public string Address2 { get; set; }

        [DisplayName("Zip Code")]
        public string ZipCode { get; set; }        
    }
}